home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Tool Chest / Development Kits / MPW etc. / MPW-GM / Interfaces&Libraries / Interfaces / CIncludes / LowMem.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-17  |  42.0 KB  |  1,053 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        LowMem.h
  3.  
  4.      Contains:    Low Memory Accessor Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1993-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __LOWMEM__
  19. #define __LOWMEM__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __CONTROLS__
  25. #include <Controls.h>
  26. #endif
  27. #ifndef __EVENTS__
  28. #include <Events.h>
  29. #endif
  30. #ifndef __FILES__
  31. #include <Files.h>
  32. #endif
  33. #ifndef __FONTS__
  34. #include <Fonts.h>
  35. #endif
  36. #ifndef __MACMEMORY__
  37. #include <MacMemory.h>
  38. #endif
  39. #ifndef __MENUS__
  40. #include <Menus.h>
  41. #endif
  42. #ifndef __OSUTILS__
  43. #include <OSUtils.h>
  44. #endif
  45. #ifndef __QUICKDRAW__
  46. #include <Quickdraw.h>
  47. #endif
  48. #ifndef __RESOURCES__
  49. #include <Resources.h>
  50. #endif
  51. #ifndef __MACWINDOWS__
  52. #include <MacWindows.h>
  53. #endif
  54.  
  55.  
  56.  
  57. #if PRAGMA_ONCE
  58. #pragma once
  59. #endif
  60.  
  61. #ifdef __cplusplus
  62. extern "C" {
  63. #endif
  64.  
  65. #if PRAGMA_IMPORT
  66. #pragma import on
  67. #endif
  68.  
  69. #if PRAGMA_STRUCT_ALIGN
  70.     #pragma options align=mac68k
  71. #elif PRAGMA_STRUCT_PACKPUSH
  72.     #pragma pack(push, 2)
  73. #elif PRAGMA_STRUCT_PACK
  74.     #pragma pack(2)
  75. #endif
  76.  
  77. /**************************************************************************************
  78.  
  79.     SIMPLE LOWMEM ACCESSORS
  80.  
  81. **************************************************************************************/
  82. EXTERN_API( SInt16 ) LMGetScrVRes(void)                                                        TWOWORDINLINE(0x3EB8, 0x0102);
  83.  
  84. EXTERN_API( void ) LMSetScrVRes(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0102);
  85.  
  86. EXTERN_API( SInt16 ) LMGetScrHRes(void)                                                        TWOWORDINLINE(0x3EB8, 0x0104);
  87.  
  88. EXTERN_API( void ) LMSetScrHRes(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0104);
  89.  
  90. EXTERN_API( Ptr ) LMGetMemTop(void)                                                            TWOWORDINLINE(0x2EB8, 0x0108);
  91.  
  92. EXTERN_API( void ) LMSetMemTop(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0108);
  93.  
  94. EXTERN_API( Ptr ) LMGetBufPtr(void)                                                            TWOWORDINLINE(0x2EB8, 0x010C);
  95.  
  96. EXTERN_API( void ) LMSetBufPtr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x010C);
  97.  
  98. EXTERN_API( Ptr ) LMGetHeapEnd(void)                                                        TWOWORDINLINE(0x2EB8, 0x0114);
  99.  
  100. EXTERN_API( void ) LMSetHeapEnd(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0114);
  101.  
  102. EXTERN_API( THz ) LMGetTheZone(void)                                                        TWOWORDINLINE(0x2EB8, 0x0118);
  103.  
  104. EXTERN_API( void ) LMSetTheZone(THz value)                                                    TWOWORDINLINE(0x21DF, 0x0118);
  105.  
  106. EXTERN_API( Ptr ) LMGetUTableBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x011C);
  107.  
  108. EXTERN_API( void ) LMSetUTableBase(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x011C);
  109.  
  110. EXTERN_API( UInt8 ) LMGetCPUFlag(void)                                                        TWOWORDINLINE(0x1EB8, 0x012F);
  111.  
  112. EXTERN_API( void ) LMSetCPUFlag(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x012F);
  113.  
  114. EXTERN_API( Ptr ) LMGetApplLimit(void)                                                        TWOWORDINLINE(0x2EB8, 0x0130);
  115.  
  116. EXTERN_API( void ) LMSetApplLimit(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0130);
  117.  
  118. EXTERN_API( SInt16 ) LMGetSysEvtMask(void)                                                    TWOWORDINLINE(0x3EB8, 0x0144);
  119.  
  120. EXTERN_API( void ) LMSetSysEvtMask(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0144);
  121.  
  122. EXTERN_API( SInt32 ) LMGetRndSeed(void)                                                        TWOWORDINLINE(0x2EB8, 0x0156);
  123.  
  124. EXTERN_API( void ) LMSetRndSeed(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0156);
  125.  
  126. EXTERN_API( UInt8 ) LMGetSEvtEnb(void)                                                        TWOWORDINLINE(0x1EB8, 0x015C);
  127.  
  128. EXTERN_API( void ) LMSetSEvtEnb(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x015C);
  129.  
  130. EXTERN_API( UInt32 ) LMGetTicks(void)                                                        TWOWORDINLINE(0x2EB8, 0x016A);
  131.  
  132. EXTERN_API( void ) LMSetTicks(UInt32 value)                                                    TWOWORDINLINE(0x21DF, 0x016A);
  133.  
  134. EXTERN_API( SInt16 ) LMGetKeyThresh(void)                                                    TWOWORDINLINE(0x3EB8, 0x018E);
  135.  
  136. EXTERN_API( void ) LMSetKeyThresh(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x018E);
  137.  
  138. EXTERN_API( SInt16 ) LMGetKeyRepThresh(void)                                                TWOWORDINLINE(0x3EB8, 0x0190);
  139.  
  140. EXTERN_API( void ) LMSetKeyRepThresh(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0190);
  141.  
  142. EXTERN_API( Ptr ) LMGetVIA(void)                                                            TWOWORDINLINE(0x2EB8, 0x01D4);
  143.  
  144. EXTERN_API( void ) LMSetVIA(Ptr value)                                                        TWOWORDINLINE(0x21DF, 0x01D4);
  145.  
  146. EXTERN_API( Ptr ) LMGetSCCRd(void)                                                            TWOWORDINLINE(0x2EB8, 0x01D8);
  147.  
  148. EXTERN_API( void ) LMSetSCCRd(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x01D8);
  149.  
  150. EXTERN_API( Ptr ) LMGetSCCWr(void)                                                            TWOWORDINLINE(0x2EB8, 0x01DC);
  151.  
  152. EXTERN_API( void ) LMSetSCCWr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x01DC);
  153.  
  154. EXTERN_API( UInt8 ) LMGetSPValid(void)                                                        TWOWORDINLINE(0x1EB8, 0x01F8);
  155.  
  156. EXTERN_API( void ) LMSetSPValid(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x01F8);
  157.  
  158. EXTERN_API( UInt8 ) LMGetSPATalkA(void)                                                        TWOWORDINLINE(0x1EB8, 0x01F9);
  159.  
  160. EXTERN_API( void ) LMSetSPATalkA(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x01F9);
  161.  
  162. EXTERN_API( UInt8 ) LMGetSPATalkB(void)                                                        TWOWORDINLINE(0x1EB8, 0x01FA);
  163.  
  164. EXTERN_API( void ) LMSetSPATalkB(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x01FA);
  165.  
  166. EXTERN_API( UInt8 ) LMGetSPConfig(void)                                                        TWOWORDINLINE(0x1EB8, 0x01FB);
  167.  
  168. EXTERN_API( void ) LMSetSPConfig(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x01FB);
  169.  
  170. EXTERN_API( SInt16 ) LMGetSPPortA(void)                                                        TWOWORDINLINE(0x3EB8, 0x01FC);
  171.  
  172. EXTERN_API( void ) LMSetSPPortA(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x01FC);
  173.  
  174. EXTERN_API( SInt16 ) LMGetSPPortB(void)                                                        TWOWORDINLINE(0x3EB8, 0x01FE);
  175.  
  176. EXTERN_API( void ) LMSetSPPortB(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x01FE);
  177.  
  178. EXTERN_API( SInt32 ) LMGetSPAlarm(void)                                                        TWOWORDINLINE(0x2EB8, 0x0200);
  179.  
  180. EXTERN_API( void ) LMSetSPAlarm(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0200);
  181.  
  182. EXTERN_API( SInt16 ) LMGetSPFont(void)                                                        TWOWORDINLINE(0x3EB8, 0x0204);
  183.  
  184. EXTERN_API( void ) LMSetSPFont(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0204);
  185.  
  186. EXTERN_API( UInt8 ) LMGetSPKbd(void)                                                        TWOWORDINLINE(0x1EB8, 0x0206);
  187.  
  188. EXTERN_API( void ) LMSetSPKbd(UInt8 value)                                                    TWOWORDINLINE(0x11DF, 0x0206);
  189.  
  190. EXTERN_API( UInt8 ) LMGetSPPrint(void)                                                        TWOWORDINLINE(0x1EB8, 0x0207);
  191.  
  192. EXTERN_API( void ) LMSetSPPrint(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0207);
  193.  
  194. EXTERN_API( UInt8 ) LMGetSPVolCtl(void)                                                        TWOWORDINLINE(0x1EB8, 0x0208);
  195.  
  196. EXTERN_API( void ) LMSetSPVolCtl(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0208);
  197.  
  198. EXTERN_API( UInt8 ) LMGetSPClikCaret(void)                                                    TWOWORDINLINE(0x1EB8, 0x0209);
  199.  
  200. EXTERN_API( void ) LMSetSPClikCaret(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0209);
  201.  
  202. EXTERN_API( UInt8 ) LMGetSPMisc2(void)                                                        TWOWORDINLINE(0x1EB8, 0x020B);
  203.  
  204. EXTERN_API( void ) LMSetSPMisc2(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x020B);
  205.  
  206. EXTERN_API( SInt32 ) LMGetTime(void)                                                        TWOWORDINLINE(0x2EB8, 0x020C);
  207.  
  208. EXTERN_API( void ) LMSetTime(SInt32 value)                                                    TWOWORDINLINE(0x21DF, 0x020C);
  209.  
  210. EXTERN_API( SInt16 ) LMGetBootDrive(void)                                                    TWOWORDINLINE(0x3EB8, 0x0210);
  211.  
  212. EXTERN_API( void ) LMSetBootDrive(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0210);
  213.  
  214. EXTERN_API( SInt16 ) LMGetSFSaveDisk(void)                                                    TWOWORDINLINE(0x3EB8, 0x0214);
  215.  
  216. EXTERN_API( void ) LMSetSFSaveDisk(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0214);
  217.  
  218. EXTERN_API( UInt8 ) LMGetKbdLast(void)                                                        TWOWORDINLINE(0x1EB8, 0x0218);
  219.  
  220. EXTERN_API( void ) LMSetKbdLast(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0218);
  221.  
  222. EXTERN_API( UInt8 ) LMGetKbdType(void)                                                        TWOWORDINLINE(0x1EB8, 0x021E);
  223.  
  224. EXTERN_API( void ) LMSetKbdType(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x021E);
  225.  
  226. EXTERN_API( SInt16 ) LMGetMemErr(void)                                                        TWOWORDINLINE(0x3EB8, 0x0220);
  227.  
  228. EXTERN_API( void ) LMSetMemErr(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0220);
  229.  
  230. EXTERN_API( UInt8 ) LMGetSdVolume(void)                                                        TWOWORDINLINE(0x1EB8, 0x0260);
  231.  
  232. EXTERN_API( void ) LMSetSdVolume(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0260);
  233.  
  234. EXTERN_API( Ptr ) LMGetSoundPtr(void)                                                        TWOWORDINLINE(0x2EB8, 0x0262);
  235.  
  236. EXTERN_API( void ) LMSetSoundPtr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0262);
  237.  
  238. EXTERN_API( Ptr ) LMGetSoundBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x0266);
  239.  
  240. EXTERN_API( void ) LMSetSoundBase(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0266);
  241.  
  242. EXTERN_API( UInt8 ) LMGetSoundLevel(void)                                                    TWOWORDINLINE(0x1EB8, 0x027F);
  243.  
  244. EXTERN_API( void ) LMSetSoundLevel(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x027F);
  245.  
  246. EXTERN_API( SInt16 ) LMGetCurPitch(void)                                                    TWOWORDINLINE(0x3EB8, 0x0280);
  247.  
  248. EXTERN_API( void ) LMSetCurPitch(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0280);
  249.  
  250. EXTERN_API( SInt16 ) LMGetROM85(void)                                                        TWOWORDINLINE(0x3EB8, 0x028E);
  251.  
  252. EXTERN_API( void ) LMSetROM85(SInt16 value)                                                    TWOWORDINLINE(0x31DF, 0x028E);
  253.  
  254. EXTERN_API( UInt8 ) LMGetPortBUse(void)                                                        TWOWORDINLINE(0x1EB8, 0x0291);
  255.  
  256. EXTERN_API( void ) LMSetPortBUse(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0291);
  257.  
  258. EXTERN_API( GNEFilterUPP ) LMGetGNEFilter(void)                                                TWOWORDINLINE(0x2EB8, 0x029A);
  259.  
  260. EXTERN_API( void ) LMSetGNEFilter(GNEFilterUPP value)                                        TWOWORDINLINE(0x21DF, 0x029A);
  261.  
  262. EXTERN_API( THz ) LMGetSysZone(void)                                                        TWOWORDINLINE(0x2EB8, 0x02A6);
  263.  
  264. EXTERN_API( void ) LMSetSysZone(THz value)                                                    TWOWORDINLINE(0x21DF, 0x02A6);
  265.  
  266. EXTERN_API( THz ) LMGetApplZone(void)                                                        TWOWORDINLINE(0x2EB8, 0x02AA);
  267.  
  268. EXTERN_API( void ) LMSetApplZone(THz value)                                                    TWOWORDINLINE(0x21DF, 0x02AA);
  269.  
  270. EXTERN_API( Ptr ) LMGetROMBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x02AE);
  271.  
  272. EXTERN_API( void ) LMSetROMBase(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x02AE);
  273.  
  274. EXTERN_API( Ptr ) LMGetRAMBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x02B2);
  275.  
  276. EXTERN_API( void ) LMSetRAMBase(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x02B2);
  277.  
  278. EXTERN_API( Ptr ) LMGetDSAlertTab(void)                                                        TWOWORDINLINE(0x2EB8, 0x02BA);
  279.  
  280. EXTERN_API( void ) LMSetDSAlertTab(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x02BA);
  281.  
  282.  
  283. /*
  284.     NOTE:    LMGetABusVars and LMSetABusVars have been removed.
  285.             Their implememtation in InterfaceLib was inconsistent
  286.             with their prototypes here.  In InterfaceLib LMSetABusVars 
  287.             would copy eight bytes and LMGetABusVars would return the
  288.             value 0x02D8 instead of the long at that location.
  289.             
  290.             Use LMGetABusGlobals/LMSetABusGlobals to get/set the
  291.             long at location 0x02D8 which is a pointer to the AppleTalk
  292.             globals.  Use LMGetABusDCE/LMSetABusDCE to get/set the
  293.             long at location 0x02DC which is the .MPP driver
  294.             Device Control Entry. 
  295.             
  296. */
  297. EXTERN_API( Ptr ) LMGetABusGlobals(void)                                                    TWOWORDINLINE(0x2EB8, 0x02D8);
  298.  
  299. EXTERN_API( void ) LMSetABusGlobals(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x02D8);
  300.  
  301. EXTERN_API( Ptr ) LMGetABusDCE(void)                                                        TWOWORDINLINE(0x2EB8, 0x02DC);
  302.  
  303. EXTERN_API( void ) LMSetABusDCE(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x02DC);
  304.  
  305.  
  306. EXTERN_API( UInt32 ) LMGetDoubleTime(void)                                                    TWOWORDINLINE(0x2EB8, 0x02F0);
  307.  
  308. EXTERN_API( void ) LMSetDoubleTime(UInt32 value)                                            TWOWORDINLINE(0x21DF, 0x02F0);
  309.  
  310. EXTERN_API( UInt32 ) LMGetCaretTime(void)                                                    TWOWORDINLINE(0x2EB8, 0x02F4);
  311.  
  312. EXTERN_API( void ) LMSetCaretTime(UInt32 value)                                                TWOWORDINLINE(0x21DF, 0x02F4);
  313.  
  314. EXTERN_API( UInt8 ) LMGetScrDmpEnb(void)                                                    TWOWORDINLINE(0x1EB8, 0x02F8);
  315.  
  316. EXTERN_API( void ) LMSetScrDmpEnb(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x02F8);
  317.  
  318. EXTERN_API( SInt32 ) LMGetBufTgFNum(void)                                                    TWOWORDINLINE(0x2EB8, 0x02FC);
  319.  
  320. EXTERN_API( void ) LMSetBufTgFNum(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x02FC);
  321.  
  322. EXTERN_API( SInt16 ) LMGetBufTgFFlg(void)                                                    TWOWORDINLINE(0x3EB8, 0x0300);
  323.  
  324. EXTERN_API( void ) LMSetBufTgFFlg(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0300);
  325.  
  326. EXTERN_API( SInt16 ) LMGetBufTgFBkNum(void)                                                    TWOWORDINLINE(0x3EB8, 0x0302);
  327.  
  328. EXTERN_API( void ) LMSetBufTgFBkNum(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0302);
  329.  
  330. EXTERN_API( SInt32 ) LMGetBufTgDate(void)                                                    TWOWORDINLINE(0x2EB8, 0x0304);
  331.  
  332. EXTERN_API( void ) LMSetBufTgDate(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0304);
  333.  
  334. EXTERN_API( SInt32 ) LMGetLo3Bytes(void)                                                    TWOWORDINLINE(0x2EB8, 0x031A);
  335.  
  336. EXTERN_API( void ) LMSetLo3Bytes(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x031A);
  337.  
  338. EXTERN_API( SInt32 ) LMGetMinStack(void)                                                    TWOWORDINLINE(0x2EB8, 0x031E);
  339.  
  340. EXTERN_API( void ) LMSetMinStack(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x031E);
  341.  
  342. EXTERN_API( SInt32 ) LMGetDefltStack(void)                                                    TWOWORDINLINE(0x2EB8, 0x0322);
  343.  
  344. EXTERN_API( void ) LMSetDefltStack(SInt32 value)                                            TWOWORDINLINE(0x21DF, 0x0322);
  345.  
  346. EXTERN_API( Handle ) LMGetGZRootHnd(void)                                                    TWOWORDINLINE(0x2EB8, 0x0328);
  347.  
  348. EXTERN_API( void ) LMSetGZRootHnd(Handle value)                                                TWOWORDINLINE(0x21DF, 0x0328);
  349.  
  350. EXTERN_API( Handle ) LMGetGZMoveHnd(void)                                                    TWOWORDINLINE(0x2EB8, 0x0330);
  351.  
  352. EXTERN_API( void ) LMSetGZMoveHnd(Handle value)                                                TWOWORDINLINE(0x21DF, 0x0330);
  353.  
  354. EXTERN_API( Ptr ) LMGetFCBSPtr(void)                                                        TWOWORDINLINE(0x2EB8, 0x034E);
  355.  
  356. EXTERN_API( void ) LMSetFCBSPtr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x034E);
  357.  
  358. EXTERN_API( Ptr ) LMGetDefVCBPtr(void)                                                        TWOWORDINLINE(0x2EB8, 0x0352);
  359.  
  360. EXTERN_API( void ) LMSetDefVCBPtr(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0352);
  361.  
  362. EXTERN_API( SInt32 ) LMGetCurDirStore(void)                                                    TWOWORDINLINE(0x2EB8, 0x0398);
  363.  
  364. EXTERN_API( void ) LMSetCurDirStore(SInt32 value)                                            TWOWORDINLINE(0x21DF, 0x0398);
  365.  
  366. EXTERN_API( UniversalProcPtr ) LMGetToExtFS(void)                                            TWOWORDINLINE(0x2EB8, 0x03F2);
  367.  
  368. EXTERN_API( void ) LMSetToExtFS(UniversalProcPtr value)                                        TWOWORDINLINE(0x21DF, 0x03F2);
  369.  
  370. EXTERN_API( SInt16 ) LMGetFSFCBLen(void)                                                    TWOWORDINLINE(0x3EB8, 0x03F6);
  371.  
  372. EXTERN_API( void ) LMSetFSFCBLen(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x03F6);
  373.  
  374. EXTERN_API( Ptr ) LMGetScrnBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x0824);
  375.  
  376. EXTERN_API( void ) LMSetScrnBase(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0824);
  377.  
  378. EXTERN_API( GDHandle ) LMGetMainDevice(void)                                                TWOWORDINLINE(0x2EB8, 0x08A4);
  379.  
  380. EXTERN_API( void ) LMSetMainDevice(GDHandle value)                                            TWOWORDINLINE(0x21DF, 0x08A4);
  381.  
  382. EXTERN_API( GDHandle ) LMGetDeviceList(void)                                                TWOWORDINLINE(0x2EB8, 0x08A8);
  383.  
  384. EXTERN_API( void ) LMSetDeviceList(GDHandle value)                                            TWOWORDINLINE(0x21DF, 0x08A8);
  385.  
  386. EXTERN_API( Handle ) LMGetQDColors(void)                                                    TWOWORDINLINE(0x2EB8, 0x08B0);
  387.  
  388. EXTERN_API( void ) LMSetQDColors(Handle value)                                                TWOWORDINLINE(0x21DF, 0x08B0);
  389.  
  390. EXTERN_API( UInt8 ) LMGetCrsrBusy(void)                                                        TWOWORDINLINE(0x1EB8, 0x08CD);
  391.  
  392. EXTERN_API( void ) LMSetCrsrBusy(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x08CD);
  393.  
  394. EXTERN_API( Handle ) LMGetWidthListHand(void)                                                TWOWORDINLINE(0x2EB8, 0x08E4);
  395.  
  396. EXTERN_API( void ) LMSetWidthListHand(Handle value)                                            TWOWORDINLINE(0x21DF, 0x08E4);
  397.  
  398. EXTERN_API( SInt16 ) LMGetJournalRef(void)                                                    TWOWORDINLINE(0x3EB8, 0x08E8);
  399.  
  400. EXTERN_API( void ) LMSetJournalRef(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x08E8);
  401.  
  402. EXTERN_API( SInt16 ) LMGetCrsrThresh(void)                                                    TWOWORDINLINE(0x3EB8, 0x08EC);
  403.  
  404. EXTERN_API( void ) LMSetCrsrThresh(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x08EC);
  405.  
  406. EXTERN_API( UniversalProcPtr ) LMGetJFetch(void)                                            TWOWORDINLINE(0x2EB8, 0x08F4);
  407.  
  408. EXTERN_API( void ) LMSetJFetch(UniversalProcPtr value)                                        TWOWORDINLINE(0x21DF, 0x08F4);
  409.  
  410. EXTERN_API( UniversalProcPtr ) LMGetJStash(void)                                            TWOWORDINLINE(0x2EB8, 0x08F8);
  411.  
  412. EXTERN_API( void ) LMSetJStash(UniversalProcPtr value)                                        TWOWORDINLINE(0x21DF, 0x08F8);
  413.  
  414. EXTERN_API( UniversalProcPtr ) LMGetJIODone(void)                                            TWOWORDINLINE(0x2EB8, 0x08FC);
  415.  
  416. EXTERN_API( void ) LMSetJIODone(UniversalProcPtr value)                                        TWOWORDINLINE(0x21DF, 0x08FC);
  417.  
  418. EXTERN_API( SInt16 ) LMGetCurApRefNum(void)                                                    TWOWORDINLINE(0x3EB8, 0x0900);
  419.  
  420. EXTERN_API( void ) LMSetCurApRefNum(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0900);
  421.  
  422. EXTERN_API( Ptr ) LMGetCurrentA5(void)                                                        TWOWORDINLINE(0x2EB8, 0x0904);
  423.  
  424. EXTERN_API( void ) LMSetCurrentA5(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0904);
  425.  
  426. EXTERN_API( Ptr ) LMGetCurStackBase(void)                                                    TWOWORDINLINE(0x2EB8, 0x0908);
  427.  
  428. EXTERN_API( void ) LMSetCurStackBase(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0908);
  429.  
  430. EXTERN_API( SInt16 ) LMGetCurJTOffset(void)                                                    TWOWORDINLINE(0x3EB8, 0x0934);
  431.  
  432. EXTERN_API( void ) LMSetCurJTOffset(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0934);
  433.  
  434. EXTERN_API( SInt16 ) LMGetCurPageOption(void)                                                TWOWORDINLINE(0x3EB8, 0x0936);
  435.  
  436. EXTERN_API( void ) LMSetCurPageOption(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0936);
  437.  
  438. EXTERN_API( UInt8 ) LMGetHiliteMode(void)                                                    TWOWORDINLINE(0x1EB8, 0x0938);
  439.  
  440. EXTERN_API( void ) LMSetHiliteMode(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0938);
  441.  
  442. EXTERN_API( SInt16 ) LMGetPrintErr(void)                                                    TWOWORDINLINE(0x3EB8, 0x0944);
  443.  
  444. EXTERN_API( void ) LMSetPrintErr(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0944);
  445.  
  446. EXTERN_API( SInt32 ) LMGetScrapSize(void)                                                    TWOWORDINLINE(0x2EB8, 0x0960);
  447.  
  448. EXTERN_API( void ) LMSetScrapSize(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0960);
  449.  
  450. EXTERN_API( Handle ) LMGetScrapHandle(void)                                                    TWOWORDINLINE(0x2EB8, 0x0964);
  451.  
  452. EXTERN_API( void ) LMSetScrapHandle(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0964);
  453.  
  454. EXTERN_API( SInt16 ) LMGetScrapCount(void)                                                    TWOWORDINLINE(0x3EB8, 0x0968);
  455.  
  456. EXTERN_API( void ) LMSetScrapCount(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0968);
  457.  
  458. EXTERN_API( SInt16 ) LMGetScrapState(void)                                                    TWOWORDINLINE(0x3EB8, 0x096A);
  459.  
  460. EXTERN_API( void ) LMSetScrapState(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x096A);
  461.  
  462. EXTERN_API( StringPtr ) LMGetScrapName(void)                                                TWOWORDINLINE(0x2EB8, 0x096C);
  463.  
  464. EXTERN_API( void ) LMSetScrapName(StringPtr value)                                            TWOWORDINLINE(0x21DF, 0x096C);
  465.  
  466. EXTERN_API( Handle ) LMGetROMFont0(void)                                                    TWOWORDINLINE(0x2EB8, 0x0980);
  467.  
  468. EXTERN_API( void ) LMSetROMFont0(Handle value)                                                TWOWORDINLINE(0x21DF, 0x0980);
  469.  
  470. EXTERN_API( SInt16 ) LMGetApFontID(void)                                                    TWOWORDINLINE(0x3EB8, 0x0984);
  471.  
  472. EXTERN_API( void ) LMSetApFontID(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0984);
  473.  
  474.  
  475. EXTERN_API( WindowPtr ) LMGetWindowList(void)                                                TWOWORDINLINE(0x2EB8, 0x09D6);
  476.  
  477. EXTERN_API( SInt16 ) LMGetSaveUpdate(void)                                                    TWOWORDINLINE(0x3EB8, 0x09DA);
  478.  
  479. EXTERN_API( void ) LMSetSaveUpdate(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x09DA);
  480.  
  481. EXTERN_API( SInt16 ) LMGetPaintWhite(void)                                                    TWOWORDINLINE(0x3EB8, 0x09DC);
  482.  
  483. EXTERN_API( void ) LMSetPaintWhite(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x09DC);
  484.  
  485. EXTERN_API( GrafPtr ) LMGetWMgrPort(void)                                                    TWOWORDINLINE(0x2EB8, 0x09DE);
  486.  
  487. EXTERN_API( void ) LMSetWMgrPort(GrafPtr value)                                                TWOWORDINLINE(0x21DF, 0x09DE);
  488.  
  489. EXTERN_API( RgnHandle ) LMGetGrayRgn(void)                                                    TWOWORDINLINE(0x2EB8, 0x09EE);
  490.  
  491. EXTERN_API( DragGrayRgnUPP ) LMGetDragHook(void)                                            TWOWORDINLINE(0x2EB8, 0x09F6);
  492.  
  493. EXTERN_API( void ) LMSetDragHook(DragGrayRgnUPP value)                                        TWOWORDINLINE(0x21DF, 0x09F6);
  494.  
  495. /*
  496.  There is no reason to set the window list directly.
  497.  Use BringToFront and SendBehind.
  498.  
  499.  If you need to do floating windows, avoid using GhostWindow 
  500.  and especially avoid patching the window manager.
  501.  
  502.  See Dean Yu's article in Develop 15 about how to implement floating
  503.  windows using low-level window manager calls.  The next generation
  504.  Macintosh Window Manager will have built-in support for floating
  505.  and modal windows.
  506. */
  507. EXTERN_API( void ) LMSetWindowList(WindowPtr value)                                            TWOWORDINLINE(0x21DF, 0x09D6);
  508.  
  509. EXTERN_API( WindowPtr ) LMGetGhostWindow(void)                                                TWOWORDINLINE(0x2EB8, 0x0A84);
  510.  
  511. EXTERN_API( void ) LMSetGhostWindow(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A84);
  512.  
  513. EXTERN_API( AuxWinHandle ) LMGetAuxWinHead(void)                                            TWOWORDINLINE(0x2EB8, 0x0CD0);
  514.  
  515. EXTERN_API( void ) LMSetAuxWinHead(AuxWinHandle value)                                        TWOWORDINLINE(0x21DF, 0x0CD0);
  516.  
  517. EXTERN_API( WindowPtr ) LMGetCurActivate(void)                                                TWOWORDINLINE(0x2EB8, 0x0A64);
  518.  
  519. EXTERN_API( void ) LMSetCurActivate(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A64);
  520.  
  521. EXTERN_API( WindowPtr ) LMGetCurDeactive(void)                                                TWOWORDINLINE(0x2EB8, 0x0A68);
  522.  
  523. EXTERN_API( void ) LMSetCurDeactive(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A68);
  524.  
  525. EXTERN_API( RgnHandle ) LMGetOldStructure(void)                                                TWOWORDINLINE(0x2EB8, 0x09E6);
  526.  
  527. EXTERN_API( void ) LMSetOldStructure(RgnHandle value)                                        TWOWORDINLINE(0x21DF, 0x09E6);
  528.  
  529. EXTERN_API( RgnHandle ) LMGetOldContent(void)                                                TWOWORDINLINE(0x2EB8, 0x09EA);
  530.  
  531. EXTERN_API( void ) LMSetOldContent(RgnHandle value)                                            TWOWORDINLINE(0x21DF, 0x09EA);
  532.  
  533. /*
  534.  Please don't mess with the gray region.  There has
  535.  to be a better way.  If not, please manipulate the
  536.  existing region, don't change the value of the lowmem.
  537. */
  538. EXTERN_API( void ) LMSetGrayRgn(RgnHandle value)                                            TWOWORDINLINE(0x21DF, 0x09EE);
  539.  
  540.  
  541. EXTERN_API( RgnHandle ) LMGetSaveVisRgn(void)                                                TWOWORDINLINE(0x2EB8, 0x09F2);
  542.  
  543. EXTERN_API( void ) LMSetSaveVisRgn(RgnHandle value)                                            TWOWORDINLINE(0x21DF, 0x09F2);
  544.  
  545.  
  546.  
  547. EXTERN_API( SInt32 ) LMGetOneOne(void)                                                        TWOWORDINLINE(0x2EB8, 0x0A02);
  548.  
  549. EXTERN_API( void ) LMSetOneOne(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0A02);
  550.  
  551. EXTERN_API( SInt32 ) LMGetMinusOne(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A06);
  552.  
  553. EXTERN_API( void ) LMSetMinusOne(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0A06);
  554.  
  555. EXTERN_API( SInt16 ) LMGetTopMenuItem(void)                                                    TWOWORDINLINE(0x3EB8, 0x0A0A);
  556.  
  557. EXTERN_API( void ) LMSetTopMenuItem(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0A0A);
  558.  
  559. EXTERN_API( SInt16 ) LMGetAtMenuBottom(void)                                                TWOWORDINLINE(0x3EB8, 0x0A0C);
  560.  
  561. EXTERN_API( void ) LMSetAtMenuBottom(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0A0C);
  562.  
  563. EXTERN_API( Handle ) LMGetMenuList(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A1C);
  564.  
  565. EXTERN_API( void ) LMSetMenuList(Handle value)                                                TWOWORDINLINE(0x21DF, 0x0A1C);
  566.  
  567. EXTERN_API( SInt16 ) LMGetMBarEnable(void)                                                    TWOWORDINLINE(0x3EB8, 0x0A20);
  568.  
  569. EXTERN_API( void ) LMSetMBarEnable(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0A20);
  570.  
  571. EXTERN_API( SInt16 ) LMGetMenuFlash(void)                                                    TWOWORDINLINE(0x3EB8, 0x0A24);
  572.  
  573. EXTERN_API( void ) LMSetMenuFlash(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A24);
  574.  
  575. EXTERN_API( SInt16 ) LMGetTheMenu(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A26);
  576.  
  577. EXTERN_API( void ) LMSetTheMenu(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A26);
  578.  
  579. EXTERN_API( MBarHookUPP ) LMGetMBarHook(void)                                                TWOWORDINLINE(0x2EB8, 0x0A2C);
  580.  
  581. EXTERN_API( void ) LMSetMBarHook(MBarHookUPP value)                                            TWOWORDINLINE(0x21DF, 0x0A2C);
  582.  
  583. EXTERN_API( MenuHookUPP ) LMGetMenuHook(void)                                                TWOWORDINLINE(0x2EB8, 0x0A30);
  584.  
  585. EXTERN_API( void ) LMSetMenuHook(MenuHookUPP value)                                            TWOWORDINLINE(0x21DF, 0x0A30);
  586.  
  587. EXTERN_API( Handle ) LMGetTopMapHndl(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A50);
  588.  
  589. EXTERN_API( void ) LMSetTopMapHndl(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0A50);
  590.  
  591. EXTERN_API( Handle ) LMGetSysMapHndl(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A54);
  592.  
  593. EXTERN_API( void ) LMSetSysMapHndl(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0A54);
  594.  
  595. EXTERN_API( SInt16 ) LMGetSysMap(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A58);
  596.  
  597. EXTERN_API( void ) LMSetSysMap(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A58);
  598.  
  599. EXTERN_API( SInt16 ) LMGetCurMap(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A5A);
  600.  
  601. EXTERN_API( void ) LMSetCurMap(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A5A);
  602.  
  603. EXTERN_API( UInt8 ) LMGetResLoad(void)                                                        TWOWORDINLINE(0x1EB8, 0x0A5E);
  604.  
  605. EXTERN_API( void ) LMSetResLoad(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0A5E);
  606.  
  607. EXTERN_API( SInt16 ) LMGetResErr(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A60);
  608.  
  609. EXTERN_API( void ) LMSetResErr(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A60);
  610.  
  611. EXTERN_API( UInt8 ) LMGetFScaleDisable(void)                                                TWOWORDINLINE(0x1EB8, 0x0A63);
  612.  
  613. EXTERN_API( void ) LMSetFScaleDisable(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0A63);
  614.  
  615. EXTERN_API( UniversalProcPtr ) LMGetDeskHook(void)                                            TWOWORDINLINE(0x2EB8, 0x0A6C);
  616.  
  617. EXTERN_API( void ) LMSetDeskHook(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A6C);
  618.  
  619. EXTERN_API( UniversalProcPtr ) LMGetTEDoText(void)                                            TWOWORDINLINE(0x2EB8, 0x0A70);
  620.  
  621. EXTERN_API( void ) LMSetTEDoText(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A70);
  622.  
  623. EXTERN_API( UniversalProcPtr ) LMGetTERecal(void)                                            TWOWORDINLINE(0x2EB8, 0x0A74);
  624.  
  625. EXTERN_API( void ) LMSetTERecal(UniversalProcPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A74);
  626.  
  627. EXTERN_API( UniversalProcPtr ) LMGetResumeProc(void)                                        TWOWORDINLINE(0x2EB8, 0x0A8C);
  628.  
  629. EXTERN_API( void ) LMSetResumeProc(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A8C);
  630.  
  631. EXTERN_API( SInt16 ) LMGetANumber(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A98);
  632.  
  633. EXTERN_API( void ) LMSetANumber(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A98);
  634.  
  635. EXTERN_API( SInt16 ) LMGetACount(void)                                                        TWOWORDINLINE(0x3EB8, 0x0A9A);
  636.  
  637. EXTERN_API( void ) LMSetACount(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A9A);
  638.  
  639. EXTERN_API( UniversalProcPtr ) LMGetDABeeper(void)                                            TWOWORDINLINE(0x2EB8, 0x0A9C);
  640.  
  641. EXTERN_API( void ) LMSetDABeeper(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A9C);
  642.  
  643. EXTERN_API( UInt16 ) LMGetTEScrpLength(void)                                                TWOWORDINLINE(0x3EB8, 0x0AB0);
  644.  
  645. EXTERN_API( void ) LMSetTEScrpLength(UInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0AB0);
  646.  
  647. EXTERN_API( Handle ) LMGetTEScrpHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0AB4);
  648.  
  649. EXTERN_API( void ) LMSetTEScrpHandle(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0AB4);
  650.  
  651. EXTERN_API( Handle ) LMGetAppParmHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0AEC);
  652.  
  653. EXTERN_API( void ) LMSetAppParmHandle(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0AEC);
  654.  
  655. EXTERN_API( SInt16 ) LMGetDSErrCode(void)                                                    TWOWORDINLINE(0x3EB8, 0x0AF0);
  656.  
  657. EXTERN_API( void ) LMSetDSErrCode(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0AF0);
  658.  
  659. EXTERN_API( ResErrUPP ) LMGetResErrProc(void)                                                TWOWORDINLINE(0x2EB8, 0x0AF2);
  660.  
  661. EXTERN_API( void ) LMSetResErrProc(ResErrUPP value)                                            TWOWORDINLINE(0x21DF, 0x0AF2);
  662.  
  663. EXTERN_API( SInt16 ) LMGetDlgFont(void)                                                        TWOWORDINLINE(0x3EB8, 0x0AFA);
  664.  
  665. EXTERN_API( void ) LMSetDlgFont(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0AFA);
  666.  
  667. EXTERN_API( Ptr ) LMGetWidthPtr(void)                                                        TWOWORDINLINE(0x2EB8, 0x0B10);
  668.  
  669. EXTERN_API( void ) LMSetWidthPtr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0B10);
  670.  
  671. EXTERN_API( Ptr ) LMGetATalkHk2(void)                                                        TWOWORDINLINE(0x2EB8, 0x0B18);
  672.  
  673. EXTERN_API( void ) LMSetATalkHk2(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0B18);
  674.  
  675. EXTERN_API( SInt16 ) LMGetHWCfgFlags(void)                                                    TWOWORDINLINE(0x3EB8, 0x0B22);
  676.  
  677. EXTERN_API( void ) LMSetHWCfgFlags(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0B22);
  678.  
  679. EXTERN_API( Handle ) LMGetWidthTabHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0B2A);
  680.  
  681. EXTERN_API( void ) LMSetWidthTabHandle(Handle value)                                        TWOWORDINLINE(0x21DF, 0x0B2A);
  682.  
  683. EXTERN_API( SInt32 ) LMGetLastSPExtra(void)                                                    TWOWORDINLINE(0x2EB8, 0x0B4C);
  684.  
  685. EXTERN_API( void ) LMSetLastSPExtra(SInt32 value)                                            TWOWORDINLINE(0x21DF, 0x0B4C);
  686.  
  687. EXTERN_API( SInt32 ) LMGetMenuDisable(void)                                                    TWOWORDINLINE(0x2EB8, 0x0B54);
  688.  
  689. EXTERN_API( void ) LMSetMenuDisable(SInt32 value)                                            TWOWORDINLINE(0x21DF, 0x0B54);
  690.  
  691. EXTERN_API( UInt8 ) LMGetROMMapInsert(void)                                                    TWOWORDINLINE(0x1EB8, 0x0B9E);
  692.  
  693. EXTERN_API( void ) LMSetROMMapInsert(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0B9E);
  694.  
  695. EXTERN_API( UInt8 ) LMGetTmpResLoad(void)                                                    TWOWORDINLINE(0x1EB8, 0x0B9F);
  696.  
  697. EXTERN_API( void ) LMSetTmpResLoad(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0B9F);
  698.  
  699. EXTERN_API( Ptr ) LMGetIntlSpec(void)                                                        TWOWORDINLINE(0x2EB8, 0x0BA0);
  700.  
  701. EXTERN_API( void ) LMSetIntlSpec(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x0BA0);
  702.  
  703. EXTERN_API( UInt8 ) LMGetWordRedraw(void)                                                    TWOWORDINLINE(0x1EB8, 0x0BA5);
  704.  
  705. EXTERN_API( void ) LMSetWordRedraw(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0BA5);
  706.  
  707. EXTERN_API( SInt16 ) LMGetSysFontFam(void)                                                    TWOWORDINLINE(0x3EB8, 0x0BA6);
  708.  
  709. EXTERN_API( void ) LMSetSysFontFam(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0BA6);
  710.  
  711. EXTERN_API( SInt16 ) LMGetSysFontSize(void)                                                    TWOWORDINLINE(0x3EB8, 0x0BA8);
  712.  
  713. EXTERN_API( void ) LMSetSysFontSize(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0BA8);
  714.  
  715. EXTERN_API( SInt16 ) LMGetMBarHeight(void)                                                    TWOWORDINLINE(0x3EB8, 0x0BAA);
  716.  
  717. EXTERN_API( void ) LMSetMBarHeight(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0BAA);
  718.  
  719. EXTERN_API( SInt16 ) LMGetTESysJust(void)                                                    TWOWORDINLINE(0x3EB8, 0x0BAC);
  720.  
  721. EXTERN_API( void ) LMSetTESysJust(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0BAC);
  722.  
  723. EXTERN_API( Handle ) LMGetLastFOND(void)                                                    TWOWORDINLINE(0x2EB8, 0x0BC2);
  724.  
  725. EXTERN_API( void ) LMSetLastFOND(Handle value)                                                TWOWORDINLINE(0x21DF, 0x0BC2);
  726.  
  727. EXTERN_API( UInt8 ) LMGetFractEnable(void)                                                    TWOWORDINLINE(0x1EB8, 0x0BF4);
  728.  
  729. EXTERN_API( void ) LMSetFractEnable(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0BF4);
  730.  
  731. EXTERN_API( UInt8 ) LMGetMMU32Bit(void)                                                        TWOWORDINLINE(0x1EB8, 0x0CB2);
  732.  
  733. EXTERN_API( void ) LMSetMMU32Bit(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0CB2);
  734.  
  735. EXTERN_API( GDHandle ) LMGetTheGDevice(void)                                                TWOWORDINLINE(0x2EB8, 0x0CC8);
  736.  
  737. EXTERN_API( void ) LMSetTheGDevice(GDHandle value)                                            TWOWORDINLINE(0x21DF, 0x0CC8);
  738.  
  739. EXTERN_API( PixPatHandle ) LMGetDeskCPat(void)                                                TWOWORDINLINE(0x2EB8, 0x0CD8);
  740.  
  741. EXTERN_API( void ) LMSetDeskCPat(PixPatHandle value)                                        TWOWORDINLINE(0x21DF, 0x0CD8);
  742.  
  743. EXTERN_API( SInt16 ) LMGetTimeDBRA(void)                                                    TWOWORDINLINE(0x3EB8, 0x0D00);
  744.  
  745. EXTERN_API( void ) LMSetTimeDBRA(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0D00);
  746.  
  747. EXTERN_API( SInt16 ) LMGetTimeSCCDB(void)                                                    TWOWORDINLINE(0x3EB8, 0x0D02);
  748.  
  749. EXTERN_API( void ) LMSetTimeSCCDB(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0D02);
  750.  
  751. EXTERN_API( UniversalProcPtr ) LMGetJVBLTask(void)                                            TWOWORDINLINE(0x2EB8, 0x0D28);
  752.  
  753. EXTERN_API( void ) LMSetJVBLTask(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0D28);
  754.  
  755. EXTERN_API( Handle ) LMGetSynListHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0D32);
  756.  
  757. EXTERN_API( void ) LMSetSynListHandle(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0D32);
  758.  
  759. EXTERN_API( MCTableHandle ) LMGetMenuCInfo(void)                                            TWOWORDINLINE(0x2EB8, 0x0D50);
  760.  
  761. EXTERN_API( void ) LMSetMenuCInfo(MCTableHandle value)                                        TWOWORDINLINE(0x21DF, 0x0D50);
  762.  
  763. EXTERN_API( UniversalProcPtr ) LMGetJDTInstall(void)                                        TWOWORDINLINE(0x2EB8, 0x0D9C);
  764.  
  765. EXTERN_API( void ) LMSetJDTInstall(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0D9C);
  766.  
  767. EXTERN_API( SInt16 ) LMGetTimeSCSIDB(void)                                                    TWOWORDINLINE(0x3EB8, 0x0B24);
  768.  
  769. EXTERN_API( void ) LMSetTimeSCSIDB(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0B24);
  770.  
  771.  
  772. /**************************************************************************************
  773.  
  774.     MORE COMPLEX LOWMEM ACCESSORS
  775.  
  776. **************************************************************************************/
  777. #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  778. /**************************************************************************************
  779.     "BIG DATA"
  780.     
  781.         These lowmem accessors access big (> 4 bytes) values.
  782. **************************************************************************************/
  783. #define LMGetDSAlertRect(dsAlertRectValue)    (*(dsAlertRectValue) = * (Rect*) 0x03F8)
  784. #define LMSetDSAlertRect(dsAlertRectValue)    ((* (Rect *) 0x03F8) = *(dsAlertRectValue))
  785. #define LMGetDragPattern(dragPatternValue)    (*(dragPatternValue) = * (Pattern *) 0x0A34)
  786. #define LMSetDragPattern(dragPatternValue)    ((* (Pattern *) 0x0A34) = *(dragPatternValue))
  787. #define LMGetDeskPattern(deskPatternValue)    (*(deskPatternValue) = * (Pattern *) 0x0A3C)
  788. #define LMSetDeskPattern(deskPatternValue)    ((* (Pattern *) 0x0A3C) = *(deskPatternValue))
  789. #define LMGetHiliteRGB(hiliteRGBValue)    (*(hiliteRGBValue) = *(RGBColor*)0x0DA0)
  790. #define LMSetHiliteRGB(hiliteRGBValue)    ((* (RGBColor *) 0x0DA0) = *(hiliteRGBValue))
  791. #define LMGetEventQueue()    ( (QHdrPtr) 0x014A)
  792. #define LMSetEventQueue(eventQueueValue)    ((* (QHdrPtr) 0x014A) = *(QHdrPtr)(eventQueueValue))
  793. #define LMGetVBLQueue()    ( (QHdrPtr) 0x0160)
  794. #define LMSetVBLQueue(vblQueueValue)    ((* (QHdrPtr) 0x0160) = *(QHdrPtr)(vblQueueValue))
  795. #define LMGetDrvQHdr()    ( (QHdrPtr) 0x0308)
  796. #define LMSetDrvQHdr(drvQHdrValue)    ((* (QHdrPtr) 0x0308) = *(QHdrPtr)(drvQHdrValue))
  797. #define LMGetVCBQHdr()    ( (QHdrPtr) 0x0356)
  798. #define LMSetVCBQHdr(vcbQHdrValue)    ((* (QHdrPtr) 0x0356) = *(QHdrPtr)(vcbQHdrValue))
  799. #define LMGetDTQueue()    ( (QHdrPtr) 0x0D92)
  800. #define LMSetDTQueue(dtQueueValue)    ((* (QHdrPtr) 0x0D92) = *(QHdrPtr)(dtQueueValue))
  801. #define LMGetFSQHdr()    ( (QHdrPtr) 0x0360)
  802. /**************************************************************************************
  803.     "BLOCKMOVE ACCESSORS"
  804.     
  805.         These lowmem accessors use the BlockMove trap
  806. **************************************************************************************/
  807. #define LMGetCurApName()    ((StringPtr) 0x0910)
  808. #define LMSetCurApName(curApNameValue)    (BlockMoveData((Ptr)(curApNameValue), (Ptr)0x0910, sizeof(Str31)))
  809. #define LMGetSysResName()    ( (StringPtr) 0x0AD8)
  810. #define LMSetSysResName(sysResNameValue)    (BlockMoveData((Ptr)(sysResNameValue), (Ptr)0x0AD8, sizeof(Str15)))
  811. #define LMGetFinderName()    ((StringPtr)0x02E0)
  812. #define LMSetFinderName(finderName)    (BlockMoveData((Ptr)(finderName), (Ptr)0x02E0, sizeof(Str15)))
  813. #define LMGetScratch20()    ((Ptr) 0x01E4)
  814. #define LMSetScratch20(scratch20Value)    (BlockMoveData((Ptr) (scratch20Value), (Ptr) 0x01E4, 20))
  815. #define LMGetToolScratch()    ((Ptr) 0x09CE)
  816. #define LMSetToolScratch(toolScratchValue)    (BlockMoveData((Ptr)(toolScratchValue), (Ptr) 0x09CE, 8))
  817. #define LMGetApplScratch()    ((Ptr) 0x0A78)
  818. #define LMSetApplScratch(applScratchValue)    (BlockMoveData((Ptr) (applScratchValue), (Ptr) 0x0A78, 12))
  819. /**************************************************************************************
  820.     "INDEXED ACCESSORS"
  821.     
  822.         These lowmem accessors take an index parameter to get/set an indexed
  823.         lowmem global.
  824. **************************************************************************************/
  825. #define LMGetDAStrings(whichString) ( ((StringHandle*)0x0AA0)[whichString] )
  826. #define LMSetDAStrings(stringsValue, whichString) ( ((StringHandle*)0x0AA0)[whichString] = (stringsValue) )
  827. #define LMGetLvl2DT(vectorNumber)    ( ((UniversalProcPtr*)0x01B2)[vectorNumber] )
  828. #define LMSetLvl2DT(lvl2DTValue, vectorNumber)    ( ((UniversalProcPtr*)0x01B2)[vectorNumber] = (lvl2DTValue) )
  829. #define LMGetExtStsDT(vectorNumber)    ( ((UniversalProcPtr*)0x02BE)[vectorNumber] )
  830. #define LMSetExtStsDT(extStsDTValue, vectorNumber)    ( ((UniversalProcPtr*)0x02BE)[vectorNumber] = (extStsDTValue) )
  831. #else
  832. /**************************************************************************************
  833.     "BIG DATA"
  834.     
  835.         These lowmem accessors access big (> 4 bytes) values.
  836. **************************************************************************************/
  837. EXTERN_API( void ) LMGetDSAlertRect(Rect *dsAlertRectValue);
  838.  
  839. EXTERN_API( void ) LMSetDSAlertRect(const Rect *dsAlertRectValue);
  840.  
  841. EXTERN_API( void ) LMGetDragPattern(Pattern *dragPatternValue);
  842.  
  843. EXTERN_API( void ) LMSetDragPattern(const Pattern *dragPatternValue);
  844.  
  845. EXTERN_API( void ) LMGetDeskPattern(Pattern *deskPatternValue);
  846.  
  847. EXTERN_API( void ) LMSetDeskPattern(const Pattern *deskPatternValue);
  848.  
  849. EXTERN_API( void ) LMGetHiliteRGB(RGBColor *hiliteRGBValue);
  850.  
  851. EXTERN_API( void ) LMSetHiliteRGB(const RGBColor *hiliteRGBValue);
  852.  
  853. EXTERN_API( QHdrPtr ) LMGetEventQueue(void );
  854.  
  855. EXTERN_API( void ) LMSetEventQueue(QHdrPtr eventQueueValue);
  856.  
  857. EXTERN_API( QHdrPtr ) LMGetVBLQueue(void );
  858.  
  859. EXTERN_API( void ) LMSetVBLQueue(QHdrPtr vblQueueValue);
  860.  
  861. EXTERN_API( QHdrPtr ) LMGetDrvQHdr(void );
  862.  
  863. EXTERN_API( void ) LMSetDrvQHdr(QHdrPtr drvQHdrValue);
  864.  
  865. EXTERN_API( QHdrPtr ) LMGetVCBQHdr(void );
  866.  
  867. EXTERN_API( void ) LMSetVCBQHdr(QHdrPtr vcbQHdrValue);
  868.  
  869. EXTERN_API( QHdrPtr ) LMGetDTQueue(void );
  870.  
  871. EXTERN_API( void ) LMSetDTQueue(QHdrPtr dtQueueValue);
  872.  
  873. EXTERN_API( QHdrPtr ) LMGetFSQHdr(void );
  874.  
  875. /**************************************************************************************
  876.     "BLOCKMOVE ACCESSORS"
  877.     
  878.         These lowmem accessors use the BlockMove trap
  879. **************************************************************************************/
  880. EXTERN_API( StringPtr ) LMGetCurApName(void );
  881.  
  882. EXTERN_API( void ) LMSetCurApName(ConstStr31Param curApNameValue);
  883.  
  884. EXTERN_API( StringPtr ) LMGetSysResName(void );
  885.  
  886. EXTERN_API( void ) LMSetSysResName(ConstStr15Param sysResNameValue);
  887.  
  888. EXTERN_API( StringPtr ) LMGetFinderName(void );
  889.  
  890. EXTERN_API( void ) LMSetFinderName(ConstStr15Param finderNameValue);
  891.  
  892. EXTERN_API( Ptr ) LMGetScratch20(void );
  893.  
  894. EXTERN_API( void ) LMSetScratch20(const void *scratch20Value);
  895.  
  896. EXTERN_API( Ptr ) LMGetToolScratch(void );
  897.  
  898. EXTERN_API( void ) LMSetToolScratch(const void *toolScratchValue);
  899.  
  900. EXTERN_API( Ptr ) LMGetApplScratch(void );
  901.  
  902. EXTERN_API( void ) LMSetApplScratch(const void *applScratchValue);
  903.  
  904.  
  905. /**************************************************************************************
  906.     "INDEXED ACCESSORS"
  907.     
  908.         These lowmem accessors take an index parameter to get/set an indexed
  909.         lowmem global.
  910. **************************************************************************************/
  911. EXTERN_API( StringHandle ) LMGetDAStrings(short whichString);
  912.  
  913. EXTERN_API( void ) LMSetDAStrings(StringHandle stringsValue, short whichString);
  914.  
  915. EXTERN_API( UniversalProcPtr ) LMGetLvl2DT(short vectorNumber);
  916.  
  917. EXTERN_API( void ) LMSetLvl2DT(UniversalProcPtr Lvl2DTValue, short vectorNumber);
  918.  
  919. EXTERN_API( UniversalProcPtr ) LMGetExtStsDT(short vectorNumber);
  920.  
  921. EXTERN_API( void ) LMSetExtStsDT(UniversalProcPtr ExtStsDTValue, short vectorNumber);
  922.  
  923. #endif  /* TARGET_CPU_68K &&  !TARGET_RT_MAC_CFM */
  924.  
  925. /**************************************************************************************
  926.     "Missing Accessors"
  927.     
  928.         These lowmem accessors are not in InterfaceLib and were missing from
  929.         previous versions of LowMem.h.  Because they are not in InterfaceLib,
  930.         C macros were added to directly inline the accessors.
  931.     
  932. **************************************************************************************/
  933. /* accesses "CrsrNew"*/
  934. EXTERN_API( Boolean ) LMGetCursorNew(void)                                                    TWOWORDINLINE(0x1EB8, 0x08CE);
  935.  
  936. EXTERN_API( void ) LMSetCursorNew(Boolean value)                                            TWOWORDINLINE(0x11DF, 0x08CE);
  937.  
  938. #define LMGetCursorNew()            (*((Boolean*)0x08CE))
  939. #define LMSetCursorNew(changed)        ((*(Boolean*)0x08CE) = (changed))
  940.  
  941. /* accesses "MBState"*/
  942. EXTERN_API( UInt8 ) LMGetMouseButtonState(void)                                                TWOWORDINLINE(0x1EB8, 0x0172);
  943.  
  944. EXTERN_API( void ) LMSetMouseButtonState(UInt8 value)                                        TWOWORDINLINE(0x11DF, 0x0172);
  945.  
  946. #define LMGetMouseButtonState()            (*((UInt8*)0x0172))
  947. #define LMSetMouseButtonState(state)    ((*(UInt8*)0x0172) = (state))
  948.  
  949. /* accesses "MTemp"*/
  950. EXTERN_API( Point ) LMGetMouseTemp(void)                                                    TWOWORDINLINE(0x2EB8, 0x0828);
  951.  
  952. EXTERN_API( void ) LMSetMouseTemp(Point value)                                                TWOWORDINLINE(0x21DF, 0x0828);
  953.  
  954. #define LMGetMouseTemp()                (*((Point*)0x0828))
  955. #define LMSetMouseTemp(location)        ((*(Point*)0x0828) = (location))
  956.  
  957. /* accesses "RawMouse"*/
  958. EXTERN_API( Point ) LMGetRawMouseLocation(void)                                                TWOWORDINLINE(0x2EB8, 0x082C);
  959.  
  960. EXTERN_API( void ) LMSetRawMouseLocation(Point value)                                        TWOWORDINLINE(0x21DF, 0x082C);
  961.  
  962. #define LMGetRawMouseLocation()                (*((Point*)0x082C))
  963. #define LMSetRawMouseLocation(location)        ((*(Point*)0x082C) = (location))
  964.  
  965. /* accesses "Mouse"*/
  966. EXTERN_API( Point ) LMGetMouseLocation(void)                                                TWOWORDINLINE(0x2EB8, 0x0830);
  967.  
  968. EXTERN_API( void ) LMSetMouseLocation(Point value)                                            TWOWORDINLINE(0x21DF, 0x0830);
  969.  
  970. #define LMGetMouseLocation()                (*((Point*)0x0830))
  971. #define LMSetMouseLocation(location)        ((*(Point*)0x0830) = (location))
  972.  
  973. /* accesses "TheCrsr"*/
  974. EXTERN_API_C( void ) LMGetTheCursor(Cursor *currentCursor);
  975.  
  976. EXTERN_API_C( void ) LMSetTheCursor(const Cursor *newCursor);
  977.  
  978. #define LMGetTheCursor(currentCursor)        ((*currentCursor) = (*(Cursor*)0x0844))
  979. #define LMSetTheCursor(newCursor)            ((*(Cursor*)0x0844) = *(newCursor))
  980.  
  981. /* accesses "HiHeapMark"*/
  982. EXTERN_API( Ptr ) LMGetHighHeapMark(void)                                                    TWOWORDINLINE(0x2EB8, 0x0BAE);
  983.  
  984. EXTERN_API( void ) LMSetHighHeapMark(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0BAE);
  985.  
  986. #define LMGetHighHeapMark()            (*((Ptr*)0x0BAE))
  987. #define LMSetHighHeapMark(mark)        ((*(Ptr*)0x0BAE) = (mark))
  988.  
  989. /* accesses "StkLowPt"*/
  990. EXTERN_API( Ptr ) LMGetStackLowPoint(void)                                                    TWOWORDINLINE(0x2EB8, 0x0110);
  991.  
  992. EXTERN_API( void ) LMSetStackLowPoint(Ptr value)                                            TWOWORDINLINE(0x21DF, 0x0110);
  993.  
  994. #define LMGetStackLowPoint()        (*((Ptr*)0x0110))
  995. #define LMSetStackLowPoint(p)        ((*(Ptr*)0x0110) = (p))
  996.  
  997. /* accesses "ROMMapHndl"*/
  998. EXTERN_API( Handle ) LMGetROMMapHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0B06);
  999.  
  1000. EXTERN_API( void ) LMSetROMMapHandle(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0B06);
  1001.  
  1002. #define LMGetROMMapHandle()            (*((Handle*)0x0B06))
  1003. #define LMSetROMMapHandle(h)        ((*(Handle*)0x0B06) = (h))
  1004.  
  1005. /* accesses "UnitNtryCnt"*/
  1006. EXTERN_API( short ) LMGetUnitTableEntryCount(void)                                            TWOWORDINLINE(0x3EB8, 0x01D2);
  1007.  
  1008. EXTERN_API( void ) LMSetUnitTableEntryCount(short value)                                    TWOWORDINLINE(0x31DF, 0x01D2);
  1009.  
  1010. #define LMGetUnitTableEntryCount()        (*((short*)0x01D2))
  1011. #define LMSetUnitTableEntryCount(count)    ((*(short*)0x01D2) = (count))
  1012.  
  1013. /* accesses "FmtDefaults"*/
  1014. EXTERN_API( Ptr ) LMGetDiskFormatingHFSDefaults(void)                                        TWOWORDINLINE(0x2EB8, 0x039E);
  1015.  
  1016. EXTERN_API( void ) LMSetDiskFormatingHFSDefaults(Ptr value)                                    TWOWORDINLINE(0x21DF, 0x039E);
  1017.  
  1018. #define LMGetDiskFormatingHFSDefaults()            (*((Ptr*)0x039E))
  1019. #define LMSetDiskFormatingHFSDefaults(default)    ((*(Ptr*)0x039E) = (default))
  1020.  
  1021. /* accesses "PortAUse"*/
  1022. EXTERN_API( UInt8 ) LMGetPortAInfo(void)                                                    TWOWORDINLINE(0x1EB8, 0x0290);
  1023.  
  1024. EXTERN_API( void ) LMSetPortAInfo(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0290);
  1025.  
  1026. #define LMGetPortAInfo()        (*((UInt8*)0x0290))
  1027. #define LMSetPortAInfo(info)    ((*(UInt8*)0x0290) = (info))
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033. #if PRAGMA_STRUCT_ALIGN
  1034.     #pragma options align=reset
  1035. #elif PRAGMA_STRUCT_PACKPUSH
  1036.     #pragma pack(pop)
  1037. #elif PRAGMA_STRUCT_PACK
  1038.     #pragma pack()
  1039. #endif
  1040.  
  1041. #ifdef PRAGMA_IMPORT_OFF
  1042. #pragma import off
  1043. #elif PRAGMA_IMPORT
  1044. #pragma import reset
  1045. #endif
  1046.  
  1047. #ifdef __cplusplus
  1048. }
  1049. #endif
  1050.  
  1051. #endif /* __LOWMEM__ */
  1052.  
  1053.